Skip to content

fix(inference): block cross-engine AgentX STP comparisons / 阻止 AgentX STP 跨引擎对比#549

Merged
adibarra merged 4 commits into
masterfrom
fix/agentx-stp-engine-comparisons
Jul 10, 2026
Merged

fix(inference): block cross-engine AgentX STP comparisons / 阻止 AgentX STP 跨引擎对比#549
adibarra merged 4 commits into
masterfrom
fix/agentx-stp-engine-comparisons

Conversation

@adibarra

@adibarra adibarra commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Note

Medium Risk
Touches core inference comparison UX (legend, overlays, presets, URL restore) and new sequence-scoped rules; mistakes could hide valid configs or allow misleading cross-engine charts, but behavior is heavily tested.

Overview
Agentic Traces now enforces a sequence-scoped STP rule: unsuffixed standard-token configs from different engine families (e.g. SGLang/ATOM vs vLLM) cannot share one comparison view. Fixed-sequence STP is unchanged. The rule merges with existing DeepSeek V4 MTP exclusions; MTP strip prefixes also cover llm-d and Mooncake wrappers.

Inference selection is centralized via resolveComparisonSelection / toggleComparisonSelection: legend toggles, GPU timeline picks, URL/preset restores, and unofficial overlay keys (overlay: namespace) all go through the same resolver. Agentic views use a keep-sticky policy (one engine family kept on auto-reset); other scenarios keep clear-all. The MTP-specific toast is replaced by EngineComparisonConflictToast with blocked vs resolved messaging (EN/ZH).

Chart surfaces apply the guard in ScatterGraph (drops conflicting overlay rooflines and syncs overlay state) and ChartDisplay (table rows and CSV warning inputs use visibleComparisonRows with quick filters). Preset hw matching ignores only non-null exclusion suffixes. Unit and Cypress tests cover STP grouping, overlay/table behavior, and regression cases.

Reviewed by Cursor Bugbot for commit 86e0bb7. Bugbot is set up for automated code reviews on this repo. Configure here.

@vercel

vercel Bot commented Jul 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
inferencemax-app Ready Ready Preview, Comment Jul 10, 2026 6:03am

Request Review

Comment thread packages/app/src/components/inference/ui/ChartDisplay.tsx Outdated
Comment thread packages/app/src/components/inference/ui/ChartDisplay.tsx Outdated

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit b27615f. Configure here.

Comment thread packages/app/src/components/inference/InferenceContext.tsx Outdated
@adibarra adibarra merged commit 5402406 into master Jul 10, 2026
23 checks passed
@adibarra adibarra deleted the fix/agentx-stp-engine-comparisons branch July 10, 2026 15:50
cquil11 added a commit that referenced this pull request Jul 14, 2026
…tX guard / 修复:让非官方 run 的 overlay 在跨引擎 AgentX 互斥中优先显示 (#575)

* fix(inference): let unofficial run overlays win the cross-engine AgentX guard

The cross-engine AgentX STP exclusion (#549) resolved conflicts with the
official selection as the sticky set, so an unofficial run loaded via
`?unofficialrun=` whose engine family conflicted with the active official
family was silently deselected — the overlay never rendered, and the run's
legend entry offers no toggle to bring it back. ChartDisplay's reconciliation
effect then stripped the run's hw types from the provider entirely.

An unofficial run is loaded to be seen: make the run's engine family the
sticky set in both resolution sites (ScatterGraph's unified selection and
ChartDisplay's overlay scoping / table rows) whenever overlay hw types are in
scope, falling back to the official selection otherwise. Conflicting official
series deselect instead (restorable by dismissing the run or re-toggling
same-family officials); explicit conflicting adds still hit the block toast.

中文:跨引擎 AgentX STP 互斥规则(#549)在解决冲突时以官方选择作为粘性集合,
导致通过 `?unofficialrun=` 加载的非官方 run 若引擎家族与当前官方家族冲突,
会被静默取消选择——overlay 永远不渲染,且 run 的图例项没有开关可以恢复。
ChartDisplay 的同步 effect 还会把该 run 的硬件类型从 provider 中彻底剥离。
本修复让 run 的引擎家族在两处解析(ScatterGraph 统一选择与 ChartDisplay 的
overlay 作用域/表格行)中优先作为粘性集合;无 overlay 时回退到官方选择。
冲突的官方系列改为被取消选择(可通过关闭 run 或重新点选同家族官方配置恢复),
显式添加冲突配置仍会触发拦截提示。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(inference): build table sticky set from resolved overlay keys

Address Bugbot review: visibleComparisonRows derived its overlay-preferring
sticky set from the provider's activeOverlayHwTypes, which lags one render
behind after an overlay scope change — the fallback to officials could drop
the overlay row from table mode even though the upstream resolver kept it.
Use the already-resolved overlayKeys (from resolvedScopedOverlayHwTypes)
instead, matching the other resolution site.

中文:响应 Bugbot 审查意见:visibleComparisonRows 原先基于 provider 的
activeOverlayHwTypes 构建 overlay 优先的粘性集合,而该状态在 overlay 作用域
切换后会滞后一次渲染,回退到官方选择时可能把 overlay 行从表格模式中丢弃。
现改用已解析的 overlayKeys(来自 resolvedScopedOverlayHwTypes),与另一处
解析逻辑保持一致。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant